package com.huizhan.web.model;

import javax.persistence.*;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.*;

import io.swagger.annotations.*;
import java.util.Date;

/**
 * @Description 账号 
 * @Author  yanluping@outlook.com
 * @Date 2020-01-09 19:15:53 
 */
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
@Entity
@ApiModel(value =  "账号")
@Table ( name ="Account")
public class Account  implements Serializable {

	private static final long serialVersionUID =  1268167981871806635L;

	/**
	 * 账号ID
	 */
	@ApiModelProperty(value = "账号ID")
	@Id
   	@Column(name = "Account_Id" )
	private String accountId;

	/**
	 * 项目角色ID
	 */
	@ApiModelProperty(value = "项目角色ID")
   	@Column(name = "Project_Role_Id" )
	private Long projectRoleId;

	/**
	 * 默认项目ID
	 */
	@ApiModelProperty(value = "默认项目ID")
   	@Column(name = "Project_Id" )
	private String projectId;

	/**
	 * 默认项目名
	 */
	@ApiModelProperty(value = "默认项目名")
   	@Column(name = "Project" )
	private String project;

	/**
	 * 头像
	 */
	@ApiModelProperty(value = "头像")
   	@Column(name = "Avatar" )
	private String avatar;

	/**
	 * 邮箱
	 */
	@ApiModelProperty(value = "邮箱")
   	@Column(name = "Email" )
	private String email;

	/**
	 * 手机
	 */
	@ApiModelProperty(value = "手机")
   	@Column(name = "Phone" )
	private String phone;

	/**
	 * 姓名
	 */
	@ApiModelProperty(value = "姓名")
   	@Column(name = "Name" )
	private String name;

	/**
	 * 密码
	 */
	@ApiModelProperty(value = "密码")
   	@Column(name = "Password" )
	private String password;

	/**
	 * 角色
	 */
	@ApiModelProperty(value = "角色")
   	@Column(name = "Roles" )
	private String roles;

	/**
	 * 启用
	 */
	@ApiModelProperty(value = "启用")
   	@Column(name = "Enabled" )
	private Integer enabled;

	/**
	 * 微信ID
	 */
	@ApiModelProperty(value = "微信ID")
   	@Column(name = "OpenId" )
	private String openId;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间",example = "2018-10-01 12:18:48")
   	@Column(name = "CreateDate" )
	private Date createDate;

	/**
	 * 上次登录日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "上次登录日期",example = "2018-10-01 12:18:48")
   	@Column(name = "LastDate" )
	private Date lastDate;

	public String getAccountId() {
		return this.accountId;
	}

	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	public Long getProjectRoleId() {
		return this.projectRoleId;
	}

	public void setProjectRoleId(Long projectRoleId) {
		this.projectRoleId = projectRoleId;
	}

	public String getProjectId() {
		return this.projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public String getAvatar() {
		return this.avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getProject() {
		return this.project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getRoles() {
		return this.roles;
	}

	public void setRoles(String roles) {
		this.roles = roles;
	}

	public Integer getEnabled() {
		return this.enabled;
	}

	public void setEnabled(Integer enabled) {
		this.enabled = enabled;
	}

	public String getOpenId() {
		return this.openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public Date getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getLastDate() {
		return this.lastDate;
	}

	public void setLastDate(Date lastDate) {
		this.lastDate = lastDate;
	}

	@Override
	public String toString() {
		return "{" +
					"accountId='" + accountId + '\'' +
					"project=" + project + '\'' +
					"projectRoleId='" + projectRoleId + '\'' +
					"projectId='" + projectId + '\'' +
					"avatar='" + avatar + '\'' +
					"email='" + email + '\'' +
					"phone='" + phone + '\'' +
					"name='" + name + '\'' +
					"password='" + password + '\'' +
					"roles='" + roles + '\'' +
					"enabled='" + enabled + '\'' +
					"openId='" + openId + '\'' +
					"createDate='" + createDate + '\'' +
					"lastDate='" + lastDate + '\'' +
				'}';
	}

}
